#ifndef _RANDOM_H_
#define _RANDOM_H_
#include <boost/random.hpp>

//random generators
typedef boost::mt19937 rng_t;
typedef boost::rand48 rngb_t;
typedef boost::ecuyer1988 rngc_t;

//adapters to distributions
typedef boost::uniform_01<> gm_uniform_double_01_t;
typedef boost::uniform_int<> gm_uniform_int_t;

//packages: generator + adapter
typedef boost::variate_generator<rng_t, gm_uniform_double_01_t> rng01_t; //core generator
typedef boost::variate_generator<rngb_t, gm_uniform_int_t> rngint_t; //seeds generator
typedef boost::variate_generator<rngc_t, gm_uniform_int_t> rngintb_t; //master seeds generator
#endif
